package com.sophossystems.client.asmon.dto;


import java.io.Serializable;

import java.util.Date;

public class RepresentanteLegalDTO implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = -5461802173437494891L;

	/** 
	 * This attribute maps to the column idRepLegal in the REPRESENTANTE_LEGAL table.
	 */
	protected int idRepLegal;

	/** 
	 * This attribute maps to the column idCliente in the REPRESENTANTE_LEGAL table.
	 */
	protected int idCliente;

	/** 
	 * This attribute represents whether the primitive attribute idCliente is null.
	 */
	protected boolean idClienteNull = true;

	/** 
	 * This attribute maps to the column aPaterno in the REPRESENTANTE_LEGAL table.
	 */
	protected String aPaterno;

	/** 
	 * This attribute maps to the column aMaterno in the REPRESENTANTE_LEGAL table.
	 */
	protected String aMaterno;

	/** 
	 * This attribute maps to the column nombres in the REPRESENTANTE_LEGAL table.
	 */
	protected String nombres;
	
	/** 
	 * This attribute maps to the column sexo in the CLIENTE_PERSONAS_FISICAS table.
	 */
	protected String sexo;

	/** 
	 * This attribute maps to the column fNacimiento in the REPRESENTANTE_LEGAL table.
	 */
	protected Date fNacimiento;

	/** 
	 * This attribute maps to the column fInicioActividad in the REPRESENTANTE_LEGAL table.
	 */
	protected Date fInicioActividad;

	/** 
	 * This attribute maps to the column email in the REPRESENTANTE_LEGAL table.
	 */
	protected String email;

	/** 
	 * This attribute maps to the column rfc in the REPRESENTANTE_LEGAL table.
	 */
	protected String rfc;

	/** 
	 * This attribute maps to the column curp in the REPRESENTANTE_LEGAL table.
	 */
	protected String curp;

	/** 
	 * This attribute maps to the column numTel in the REPRESENTANTE_LEGAL table.
	 */
	protected String numTel;
	
	/** 
	 * This attribute maps to the column ext1 in the REPRESENTANTE_LEGAL table.
	 */
	protected String ext1;

	/** 
	 * This attribute represents whether the primitive attribute numTel is null.
	 */
	protected boolean numTelNull = true;

	/** 
	 * This attribute maps to the column idDireccion in the REPRESENTANTE_LEGAL table.
	 */
	protected int idDireccion;

	/** 
	 * This attribute maps to the column rfcCliente in the REPRESENTANTE_LEGAL table.
	 */
	protected String rfcCliente;

	/**
	 * Method 'RepresentanteLegal'
	 * 
	 */
	public RepresentanteLegalDTO()
	{
	}

	/**
	 * Method 'getIdRepLegal'
	 * 
	 * @return int
	 */
	public int getIdRepLegal()
	{
		return idRepLegal;
	}

	/**
	 * Method 'setIdRepLegal'
	 * 
	 * @param idRepLegal
	 */
	public void setIdRepLegal(int idRepLegal)
	{
		this.idRepLegal = idRepLegal;
	}

	/**
	 * Method 'getIdCliente'
	 * 
	 * @return int
	 */
	public int getIdCliente()
	{
		return idCliente;
	}

	/**
	 * Method 'setIdCliente'
	 * 
	 * @param idCliente
	 */
	public void setIdCliente(int idCliente)
	{
		this.idCliente = idCliente;
		this.idClienteNull = false;
	}

	/**
	 * Method 'setIdClienteNull'
	 * 
	 * @param value
	 */
	public void setIdClienteNull(boolean value)
	{
		this.idClienteNull = value;
	}

	/**
	 * Method 'isIdClienteNull'
	 * 
	 * @return boolean
	 */
	public boolean isIdClienteNull()
	{
		return idClienteNull;
	}

	
	
	/**
	 * @return the aPaterno
	 */
	public String getaPaterno() {
		return aPaterno;
	}

	/**
	 * @param aPaterno the aPaterno to set
	 */
	public void setaPaterno(String aPaterno) {
		this.aPaterno = aPaterno;
	}

	/**
	 * @return the aMaterno
	 */
	public String getaMaterno() {
		return aMaterno;
	}

	/**
	 * @param aMaterno the aMaterno to set
	 */
	public void setaMaterno(String aMaterno) {
		this.aMaterno = aMaterno;
	}

	/**
	 * Method 'getNombres'
	 * 
	 * @return String
	 */
	public String getNombres()
	{
		return nombres;
	}

	/**
	 * Method 'setNombres'
	 * 
	 * @param nombres
	 */
	public void setNombres(String nombres)
	{
		this.nombres = nombres;
	}

	
	/**
	 * @return the sexo
	 */
	public String getSexo() {
		return sexo;
	}

	/**
	 * @param sexo the sexo to set
	 */
	public void setSexo(String sexo) {
		this.sexo = sexo;
	}

	

	/**
	 * @return the fNacimiento
	 */
	public Date getfNacimiento() {
		return fNacimiento;
	}

	/**
	 * @param fNacimiento the fNacimiento to set
	 */
	public void setfNacimiento(Date fNacimiento) {
		this.fNacimiento = fNacimiento;
	}

	/**
	 * @return the fInicioActividad
	 */
	public Date getfInicioActividad() {
		return fInicioActividad;
	}

	/**
	 * @param fInicioActividad the fInicioActividad to set
	 */
	public void setfInicioActividad(Date fInicioActividad) {
		this.fInicioActividad = fInicioActividad;
	}

	/**
	 * Method 'getEmail'
	 * 
	 * @return String
	 */
	public String getEmail()
	{
		return email;
	}

	/**
	 * Method 'setEmail'
	 * 
	 * @param email
	 */
	public void setEmail(String email)
	{
		this.email = email;
	}

	/**
	 * Method 'getRfc'
	 * 
	 * @return String
	 */
	public String getRfc()
	{
		return rfc;
	}

	/**
	 * Method 'setRfc'
	 * 
	 * @param rfc
	 */
	public void setRfc(String rfc)
	{
		this.rfc = rfc;
	}

	/**
	 * Method 'getCurp'
	 * 
	 * @return String
	 */
	public String getCurp()
	{
		return curp;
	}

	/**
	 * Method 'setCurp'
	 * 
	 * @param curp
	 */
	public void setCurp(String curp)
	{
		this.curp = curp;
	}

	/**
	 * Method 'getNumTel'
	 * 
	 * @return int
	 */
	public String getNumTel()
	{
		return numTel;
	}

	/**
	 * Method 'setNumTel'
	 * 
	 * @param numTel
	 */
	public void setNumTel(String numTel)
	{
		this.numTel = numTel;
		this.numTelNull = false;
	}

	/**
	 * @return the ext1
	 */
	public String getExt1() {
		return ext1;
	}

	/**
	 * @param ext1 the ext1 to set
	 */
	public void setExt1(String ext1) {
		this.ext1 = ext1;
	}

	/**
	 * Method 'setNumTelNull'
	 * 
	 * @param value
	 */
	public void setNumTelNull(boolean value)
	{
		this.numTelNull = value;
	}

	/**
	 * Method 'isNumTelNull'
	 * 
	 * @return boolean
	 */
	public boolean isNumTelNull()
	{
		return numTelNull;
	}

	/**
	 * Method 'getIdDireccion'
	 * 
	 * @return int
	 */
	public int getIdDireccion()
	{
		return idDireccion;
	}

	/**
	 * Method 'setIdDireccion'
	 * 
	 * @param idDireccion
	 */
	public void setIdDireccion(int idDireccion)
	{
		this.idDireccion = idDireccion;
	}

	/**
	 * Method 'getRfcCliente'
	 * 
	 * @return String
	 */
	public String getRfcCliente()
	{
		return rfcCliente;
	}

	/**
	 * Method 'setRfcCliente'
	 * 
	 * @param rfcCliente
	 */
	public void setRfcCliente(String rfcCliente)
	{
		this.rfcCliente = rfcCliente;
	}

	/**
	 * Method 'equals'
	 * 
	 * @param _other
	 * @return boolean
	 */
	@Override
	public boolean equals(Object _other)
	{
		if (_other == null) {
			return false;
		}
		
		if (_other == this) {
			return true;
		}
		
		if (!(_other instanceof RepresentanteLegalDTO)) {
			return false;
		}
		
		final RepresentanteLegalDTO _cast = (RepresentanteLegalDTO) _other;
		if (idRepLegal != _cast.idRepLegal) {
			return false;
		}
		
		if (idCliente != _cast.idCliente) {
			return false;
		}
		
		if (idClienteNull != _cast.idClienteNull) {
			return false;
		}
		
		if (aPaterno == null ? _cast.aPaterno != aPaterno : !aPaterno.equals( _cast.aPaterno )) {
			return false;
		}
		
		if (aMaterno == null ? _cast.aMaterno != aMaterno : !aMaterno.equals( _cast.aMaterno )) {
			return false;
		}
		
		if (nombres == null ? _cast.nombres != nombres : !nombres.equals( _cast.nombres )) {
			return false;
		}
		
		if (fNacimiento == null ? _cast.fNacimiento != fNacimiento : !fNacimiento.equals( _cast.fNacimiento )) {
			return false;
		}
		
		if (fInicioActividad == null ? _cast.fInicioActividad != fInicioActividad : !fInicioActividad.equals( _cast.fInicioActividad )) {
			return false;
		}
		
		if (email == null ? _cast.email != email : !email.equals( _cast.email )) {
			return false;
		}
		
		if (rfc == null ? _cast.rfc != rfc : !rfc.equals( _cast.rfc )) {
			return false;
		}
		
		if (curp == null ? _cast.curp != curp : !curp.equals( _cast.curp )) {
			return false;
		}
		
		if (numTel != _cast.numTel) {
			return false;
		}
		
		if (numTelNull != _cast.numTelNull) {
			return false;
		}
		
		if (idDireccion != _cast.idDireccion) {
			return false;
		}
		
		if (rfcCliente == null ? _cast.rfcCliente != rfcCliente : !rfcCliente.equals( _cast.rfcCliente )) {
			return false;
		}
		
		return true;
	}

	/**
	 * Method 'hashCode'
	 * 
	 * @return int
	 */
	@Override
	public int hashCode()
	{
		int _hashCode = 0;
		_hashCode = 29 * _hashCode + idRepLegal;
		_hashCode = 29 * _hashCode + idCliente;
		_hashCode = 29 * _hashCode + (idClienteNull ? 1 : 0);
		if (aPaterno != null) {
			_hashCode = 29 * _hashCode + aPaterno.hashCode();
		}
		
		if (aMaterno != null) {
			_hashCode = 29 * _hashCode + aMaterno.hashCode();
		}
		
		if (nombres != null) {
			_hashCode = 29 * _hashCode + nombres.hashCode();
		}
		
		if (sexo != null) {
			_hashCode = 29 * _hashCode + sexo.hashCode();
		}
		
		if (fNacimiento != null) {
			_hashCode = 29 * _hashCode + fNacimiento.hashCode();
		}
		
		if (fInicioActividad != null) {
			_hashCode = 29 * _hashCode + fInicioActividad.hashCode();
		}
		
		if (email != null) {
			_hashCode = 29 * _hashCode + email.hashCode();
		}
		
		if (rfc != null) {
			_hashCode = 29 * _hashCode + rfc.hashCode();
		}
		
		if (curp != null) {
			_hashCode = 29 * _hashCode + curp.hashCode();
		}
		
		if(numTel != null){
			_hashCode = 29 * _hashCode + numTel.hashCode();
		}
		if (ext1 != null) {
			_hashCode = 29 * _hashCode + ext1.hashCode();
		}
		
		_hashCode = 29 * _hashCode + idDireccion;
		if (rfcCliente != null) {
			_hashCode = 29 * _hashCode + rfcCliente.hashCode();
		}
		
		return _hashCode;
	}

	/**
	 * Method 'createPk'
	 * 
	 * @return RepresentanteLegalPk
	 */
	public RepresentanteLegalPkDTO createPk()
	{
		return new RepresentanteLegalPkDTO(idRepLegal);
	}

	/**
	 * Method 'toString'
	 * 
	 * @return String
	 */
	@Override
	public String toString()
	{
		StringBuffer ret = new StringBuffer();
		ret.append( "com.sophossystems.client.asmon.dto.RepresentanteLegal: " );
		ret.append( "idRepLegal=" + idRepLegal );
		ret.append( ", idCliente=" + idCliente );
		ret.append( ", aPaterno=" + aPaterno );
		ret.append( ", aMaterno=" + aMaterno );
		ret.append( ", nombres=" + nombres );
		ret.append( ", sexo=" + sexo );
		ret.append( ", fNacimiento=" + fNacimiento );
		ret.append( ", fInicioActividad=" + fInicioActividad );
		ret.append( ", email=" + email );
		ret.append( ", rfc=" + rfc );
		ret.append( ", curp=" + curp );
		ret.append( ", numTel=" + numTel );
		ret.append( ", ext1=" + ext1 );
		ret.append( ", idDireccion=" + idDireccion );
		ret.append( ", rfcCliente=" + rfcCliente );
		return ret.toString();
	}

}
